home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 131 / XENIATGM131.iso / Goodies / I-WAR 2 Egde of Chaos - New SDK / IW2-EOC_Pog_Scripting_SDK.exe / include / iBody.h < prev    next >
C/C++ Source or Header  |  2002-01-14  |  2KB  |  105 lines

  1. //
  2. // (c) 1999 Particle Systems Ltd. All Rights Reserved
  3. //
  4. // ibody.h
  5. //
  6. // API for the package ibody - functions for manipulation of celestial bodies.
  7. //
  8. // Revision control information:
  9. //
  10. // $Header:
  11. //
  12.  
  13. #include "Flux.h"
  14.  
  15. #ifdef FLUX_COMPILE
  16.  
  17. FLUX_DECLARE_EXTENSION(iBody);
  18.  
  19. #ifdef FLUX_LIB
  20. #if _MSC_VER >= 1000
  21. #pragma comment( lib, "ibody" )
  22. #endif // _MSC_VER >= 1000
  23. #endif // FLUX_LIB
  24. #else
  25.  
  26. // Dependencies
  27. uses Sim, Set, iMapEntity, iHabitat, MapEnumerations;
  28.  
  29. // Declare handle type
  30. handle hbody : hmapentity;
  31.  
  32. // Handle manipulation ////////////////////////////////////////////////////////
  33.  
  34. //
  35. // hbody Cast( hobject object_handle )
  36. //
  37. // Cast an object to a celestial body.
  38. //
  39. prototype hbody iBody.Cast( hobject object_handle );
  40.  
  41. // Accessors ///////////////////////////////////////////////////////////////////
  42.  
  43. //
  44. // IeBodyType Type( hbody body )
  45. //
  46. // Get the type of a body (e.g. star, planet, moon)
  47. //
  48. prototype IeBodyType iBody.Type( hbody body );
  49.  
  50. //
  51. // ExclusionZone( hbody body ) 
  52. //
  53. // Get the allegiance of the controller of this body's exclusion zone.
  54. //
  55. // !! Awaits Chris' faction stuff.
  56.  
  57. // Find functions //////////////////////////////////////////////////////////////
  58.  
  59. //
  60. // set HabitatsAroundBody( hbody body )
  61. //
  62. // Get a set of habitats around a given body. Includes habitats around habitats 
  63. // around the body but not habitats around bodies around the body.
  64. //
  65. prototype set iBody.HabitatsAroundBody( hbody body );
  66.  
  67. //
  68. // set OrbitingBodies( hbody body )
  69. //
  70. // Get a set of bodies around a given body. This will include all bodies 
  71. // orbiting those bodies and so on.
  72. //
  73. prototype set iBody.OrbitingBodies( hbody body );
  74.  
  75. //
  76. // hbody FindByName( string name )
  77. //
  78. // Try to find a body in the system with the given name.
  79. //
  80. prototype hbody iBody.FindByName( string name );
  81.  
  82. //
  83. // hbody Nearest( set bodies, hsim sim )
  84. //
  85. // Of all the bodies in the given set, find the one closest to the given sim.
  86. //
  87. prototype hbody iBody.Nearest( set bodies, hsim sim );
  88.  
  89. //
  90. // hbody Random( set bodies )
  91. // 
  92. // Pick a random body from the given set.
  93. //
  94. prototype hbody iBody.Random( set bodies );
  95.  
  96. //
  97. // set FilterOnType( set bodies, IeBodyType type )
  98. //
  99. // Return a set consisting of all those members of the supplied set to have 
  100. // a body type matching that given.
  101. //
  102. prototype set iBody.FilterOnType( set bodies, IeBodyType type );
  103.  
  104. #endif // FLUX_LIB
  105.